package Oop.ooptest.test08;

/**
 * 抽象类，指的是子父类继承关系中，父类定义了方法，但是不写具体的实现，有子类自己去实现，这种定义方法叫做抽象方法
 * 有抽象方法的类，需要定义为接口或者抽象类
 * 抽象类定义的时候，需要加abstract
 */
public abstract class Person {
    private String name;
    private String sex;
    private int age;

    public Person() {
    }

    public Person(String name, String sex, int age) {
        this.name = name;
        this.sex = sex;
        this.age = age;
    }

    public String getName() {
        return name;
    }
    public void run(){
        System.out.println("人都是会跑的");
    }
    public void eat(){
        System.out.println("人都是会吃的");
    }


    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    //声明一个方法为抽象方法
    public abstract void earnMoney();


    //设置一个带有返回值的方法
    public abstract int earnMoneyMonth();

}
